<template>
    <div class="taskWrap">
        <!-- 条件筛选展示部分 -->

        <div class="selectCondition">
            <el-row>
                <el-col :xs="16" :sm="17" :md="18" :lg="19" :xl="20">
                    <el-form
                        :model="SelectConditionForm"
                        ref="TaskConditionForm"
                        :inline="true"
                    >
                        <!-- 状态标识 -->
                        <!-- 所属产品 -->
                        <el-form-item prop="f__product_id">
                            <el-select
                                v-model="SelectConditionForm.f__product_id"
                                placeholder="请选择所属产品"
                                clearable
                                multiple
                                filterable
                                collapse-tags
                            >
                                <el-option
                                    value=""
                                    label="全部产品"
                                ></el-option>
                                <el-option
                                    v-for="(item, index) in ProductList"
                                    :key="index"
                                    :label="item.name"
                                    :value="item.id"
                                >
                                </el-option>
                            </el-select>
                        </el-form-item>
                        <el-form-item prop="t__task_number">
                            <el-input
                                placeholder="请输入任务ID"
                                clearable
                                v-model="SelectConditionForm.t__task_number"
                                oninput="value=value.replace(/[^\d]/g,'')"
                            ></el-input>
                        </el-form-item>
                        <el-form-item prop="t__feedback_id">
                            <el-input
                                placeholder="请输入反馈ID"
                                clearable
                                v-model="SelectConditionForm.t__feedback_id"
                                oninput="value=value.replace(/[^\d]/g,'')"
                            ></el-input>
                        </el-form-item>
                        <el-form-item prop="t__title">
                            <el-input
                                placeholder="请输入任务标题"
                                clearable
                                v-model="SelectConditionForm.t__title"
                            ></el-input>
                        </el-form-item>
                        <el-form-item prop="taskStatus">
                            <el-select
                                v-model="SelectConditionForm.taskStatus"
                                placeholder="请选择任务整体状态"
                                filterable
                                clearable
                            >
                                <el-option
                                    label="任务整体状态"
                                    value=""
                                ></el-option>
                                <el-option
                                    label="处理中"
                                    :value="1"
                                ></el-option>
                                <el-option
                                    label="已完成"
                                    :value="2"
                                ></el-option>
                            </el-select>
                        </el-form-item>
                        <el-form-item prop="t__ctag">
                            <el-select
                                v-model="SelectConditionForm.t__ctag"
                                placeholder="请选择状态标识"
                                clearable
                                filterable
                            >
                                <el-option
                                    value=""
                                    label="任务C1/C2标识"
                                ></el-option>
                                <el-option
                                    v-for="(item, index) in ctag"
                                    :key="index"
                                    :label="item.label"
                                    :value="item.value"
                                >
                                </el-option>
                            </el-select>
                        </el-form-item>
                        <!-- 指派人-->
                        <el-form-item prop="t__responsible_user">
                            <el-select
                                v-model="
                                    SelectConditionForm.t__responsible_user
                                "
                                placeholder="请输入责任人"
                                clearable
                                filterable
                            >
                                <el-option
                                    value=""
                                    label="全部责任人"
                                ></el-option>
                                <el-option
                                    v-for="(item, index) in userList"
                                    :key="index"
                                    :label="item.name"
                                    :value="item.id"
                                >
                                </el-option>
                            </el-select>
                        </el-form-item>
                        <el-form-item
                            class="selectConditionDateTime"
                            prop="t__created_at"
                        >
                            <el-date-picker
                                v-model="SelectConditionForm.t__created_at"
                                type="daterange"
                                :clearable="false"
                                range-separator="至"
                                start-placeholder="开始日期"
                                end-placeholder="结束日期"
                            >
                            </el-date-picker>
                        </el-form-item>
                    </el-form>
                </el-col>
                <el-col
                    :xs="8"
                    :sm="7"
                    :md="6"
                    :lg="5"
                    :xl="4"
                    class="btnDisplay"
                >
                    <!-- 搜索按钮 -->
                    <el-button
                        type="primary"
                        size="small"
                        @click="onSearchKuang"
                        v-has="'M1104001'"
                        >搜索</el-button
                    >
                    <!-- 重置按钮 -->
                    <el-button
                        @click="reset"
                        type="primary"
                        size="small"
                        v-has="'M1104002'"
                        >重置</el-button
                    >

                    <!-- 导出按钮 -->
                    <el-button
                        type="primary"
                        size="small"
                        @click="exportCharts"
                        v-has="'M1104003'"
                        >导出</el-button
                    >
                </el-col>
            </el-row>
            <!-- <div class="demodiv"><span class="demo" @click="istodemo" v-if="!isDemo"></span><span class="demo1" @click="istodemo" v-if="isDemo"></span></div> -->
        </div>

        <!-- 数据展示部分 -->
        <el-card class="feedBackData">
            <div class="aboutOptions">
                <!-- <el-button type="primary" size="small">更新</el-button> -->
                <el-popover
                    placement="bottom-start"
                    width="152"
                    trigger="click"
                >
                    <el-checkbox-group v-model="colOptions" :min="3">
                        <el-checkbox
                            v-for="item in colSelect"
                            :label="item"
                            :key="item"
                        ></el-checkbox>
                    </el-checkbox-group>

                    <el-button
                        class="mr10"
                        slot="reference"
                        type="primary"
                        size="small"
                        >字段管理</el-button
                    >
                </el-popover>

                <!-- 创建反馈按钮 -->
                <el-button type="primary" size="small" @click="createTask"
                    >创建任务</el-button
                >
            </div>

            <!-- <el-button type="primary">参数设置</el-button> -->
            <el-table
                max-height="650"
                :data="taskTableData"
                ref="tableDataRef44"
                class="feedBackDataTable"
                border
                :span-method="objectSpanMethod"
                @sort-change="changeSort"
                :cell-style="{ textAlign: 'center', height: '60px' }"
                :header-cell-style="{
                    textAlign: 'center',
                    height: '50px',
                    backgroundColor: '#FFFFFF',
                }"
            >
                <!-- :span-method="objectSpanMethod" -->

                <el-table-column
                    prop="feedBackId"
                    label="反馈ID"
                    v-if="colData[0].istrue"
                    :sortable="'custom'"
                    :default-sort="{ prop: 'id', order: '' }"
                    :sort-method="sortByFeedBackId"
                    min-width="87"
                >
                    <template slot-scope="scope">
                        <span
                            class="toPageLink"
                            @click="getFeedBackDetail(scope.row)"
                            >{{ scope.row.feedBackId }}</span
                        >
                    </template>
                </el-table-column>
                <el-table-column
                    prop="productName"
                    label="所属产品"
                    v-if="colData[1].istrue"
                    min-width="200"
                >
                    <template slot-scope="scope">
                        <el-tooltip
                            :content="scope.row.productName"
                            placement="top"
                            effect="light"
                        >
                            <div class="aboutTitle">
                                {{ scope.row.productName }}
                            </div>
                        </el-tooltip>
                    </template>
                </el-table-column>
                <el-table-column
                    prop="id"
                    label="任务ID"
                    :sortable="'custom'"
                    :default-sort="{ prop: 'id', order: '' }"
                    :sort-method="sortById"
                    v-if="colData[2].istrue"
                    min-width="87"
                >
                    <template slot-scope="scope">
                        <span
                            class="toPageLink"
                            @click="getTaskDetail(scope.row)"
                            >{{ scope.row.id }}</span
                        >
                    </template>
                </el-table-column>
                <el-table-column
                    label="任务标题"
                    v-if="colData[3].istrue"
                    prop="title"
                    min-width="200"
                >
                    <template slot-scope="scope">
                        <el-tooltip
                            :content="scope.row.title"
                            placement="top"
                            effect="light"
                        >
                            <span class="toPageLink"
                            @click="getTaskDetail(scope.row)">{{ scope.row.title }}</span>
                        </el-tooltip>
                    </template>
                </el-table-column>
                <el-table-column
                    label="跟踪事项"
                    v-if="colData[4].istrue"
                    prop="trackingTip"
                    min-width="200"
                >
                    <template slot-scope="scope">
                        <el-tooltip
                            placement="top"
                            effect="light"
                        >
                        <div slot="content" v-html="scope.row.trackingTip.replace(/<\/?.+?\/?>/g,'')"></div>
                            <div
                                class="aboutTitle"
                                v-html="scope.row.trackingTip"
                            ></div>
                        </el-tooltip>
                    </template>
                </el-table-column>
                <el-table-column
                    prop="taskType"
                    label="任务类型"
                    v-if="colData[5].istrue"
                    min-width="79"
                >
                    <template slot-scope="scope">
                        <span v-if="scope.row.taskType === 1">BUG</span>
                        <span v-else-if="scope.row.taskType === 2">需求</span>
                        <span v-else>反馈</span>
                    </template>
                </el-table-column>
                <el-table-column
                    prop="ctag"
                    label="任务C1/C2标识"
                    min-width="120"
                    v-if="colData[6].istrue"
                >
                    <template slot="header">
                        <el-tooltip
                            effect="dark"
                            content="创建订单自动生成的编号"
                            placement="top"
                        >
                            <div slot="content">
                                任务C1/C2标识注释:<br />C1：现场问题分析解决<br />C2：改进/优化
                            </div>
                            <span>任务C1/C2标识</span>
                        </el-tooltip>
                    </template>
                    <template slot-scope="scope">
                        <span>{{
                            scope.row.ctag | transferSeverity(ctag)
                        }}</span>
                    </template>
                </el-table-column>
                <el-table-column
                    prop="taskState"
                    label="任务状态"
                    min-width="90"
                    v-if="colData[7].istrue"
                >
                    <template slot-scope="scope">
                        <span>{{
                            scope.row.taskState
                                | transferSeverity(taskStatusList)
                        }}</span>
                    </template>
                </el-table-column>
                <el-table-column
                    prop="responsibleUserName"
                    label="责任人"
                    min-width="90"
                    v-if="colData[8].istrue"
                >
                </el-table-column>
                <el-table-column
                    prop="createdAt"
                    label="任务创建时间"
                    min-width="130"
                    v-if="colData[9].istrue"
                >
                    <template slot-scope="scope">
                        <span>{{ scope.row.createdAt | formatTimer }}</span>
                    </template>
                </el-table-column>
                <el-table-column
                    min-width="110"
                    label="计划完成时间"
                    v-if="colData[10].istrue"
                    prop="expectedCompletedDate"
                >
                    <!-- <template slot-scope="scope">
            <TaskStatusBtn
              :isClass="true"
              :type="scope.row.c2Status"
              :flowStatusList="C2status"
            ></TaskStatusBtn>
          </template> -->
                </el-table-column>

                <el-table-column
                    prop="lastModifedAt"
                    label="最后更新时间"
                    v-if="colData[11].istrue"
                    min-width="130"
                >
                    <template slot-scope="scope">
                        <span>{{ scope.row.lastModifedAt }}</span>
                    </template>
                </el-table-column>
                <el-table-column
                    prop="feedbackParentStageName"
                    label="反馈C1状态"
                    min-width="100"
                    v-if="colData[12].istrue"
                >
                    <!-- <template slot-scope="scope">
            <span>{{
              scope.row.c1Status | transferSeverity(taskStatusList)
            }}</span>
          </template> -->
                </el-table-column>
                <el-table-column
                    prop="BeyondMarkType"
                    label="任务超期标识"
                    v-if="colData[13].istrue"
                    min-width="110"
                >
                    <template slot="header">
                        <el-tooltip effect="dark" placement="top">
                            <div slot="content">
                                任务超期标识注释:<br />绿色：未超期<br />蓝色：反馈普通超期<br />橙色：FEMS普通超期<br />红色：严重超期
                            </div>
                            <span>任务超期标识</span>
                        </el-tooltip>
                    </template>
                    <template slot-scope="scope">
                        <RadioStatusBtn
                            :isClass="true"
                            :type="scope.row.beyondMarkType"
                        >
                        </RadioStatusBtn>
                    </template>
                </el-table-column>
                <el-table-column
                    min-width="120"
                    prop="beyondFeedBaclMeeting"
                    label="超期反馈会议"
                    v-if="colData[14].istrue"
                >
                </el-table-column>
                <el-table-column
                    prop="responsibleUserDep"
                    label="责任人所属部门"
                    min-width="120"
                    v-if="colData[15].istrue"
                >
                </el-table-column>
                <el-table-column label="操作" width="130" fixed="right">
                    <template slot-scope="scope">
                        <div class="radioBtnList">
                            <el-tooltip
                                class="item"
                                effect="light"
                                content="激活"
                                v-show="scope.row.showActivationTag"
                                v-has="'M1104004'"
                                placement="bottom-start"
                            >
                                <span
                                    class="taskRadio start"
                                    @click="activeRow(scope.row.id)"
                                ></span>
                            </el-tooltip>
                            <el-tooltip
                                class="item"
                                effect="light"
                                content="关闭"
                                v-show="scope.row.showCloseTag"
                                v-has="'M1104005'"
                                placement="bottom-start"
                            >
                                <span
                                    class="taskRadio close"
                                    @click="closeRow(scope.row)"
                                    style="margin-left: 0"
                                ></span>
                            </el-tooltip>
                            <el-tooltip
                                class="item"
                                effect="light"
                                content="转让"
                                v-has="'M1104006'"
                                v-show="scope.row.showAssignTag"
                                placement="bottom-start"
                            >
                                <span
                                    class="taskRadio transfer"
                                    @click="
                                        transferRow(
                                            scope.row.id,
                                            scope.row.productId
                                        )
                                    "
                                ></span>
                            </el-tooltip>
                            <el-tooltip
                                class="item"
                                effect="light"
                                content="确认"
                                v-show="scope.row.showConfirmTag"
                                v-has="'M1104007'"
                                placement="bottom-start"
                            >
                                <span
                                    class="taskRadio confirm"
                                    @click="confirm(scope.row.id)"
                                ></span>
                            </el-tooltip>
                            <el-tooltip
                                class="item"
                                effect="light"
                                v-show="scope.row.showProgressTag"
                                content="更新进度"
                                v-has="'M1104008'"
                                placement="bottom-start"
                            >
                                <span
                                    @click="updateRow(scope.row.id)"
                                    class="taskRadio update"
                                ></span>
                            </el-tooltip>
                            <el-tooltip
                                class="item"
                                effect="light"
                                v-show="scope.row.showCommonButton"
                                content="评论"
                                v-has="'M1104016'"
                                placement="bottom-start"
                            >
                                <span
                                    @click="updateRows(scope.row.id)"
                                    class="taskRadio updates"
                                ></span>
                            </el-tooltip>
                            <el-tooltip
                                class="item"
                                effect="light"
                                content="申请上会"
                                v-show="scope.row.showApplyMeeting"
                                v-has="'M1104015'"
                                placement="bottom-start"
                            >
                                <span
                                    class="taskRadio apply"
                                    @click="application(scope.row)"
                                ></span>
                            </el-tooltip>
                        </div>
                    </template>
                </el-table-column>
            </el-table>
        </el-card>

        <!-- 控制数据展示数量的分页器 -->
        <div class="paginationClock">
            <el-pagination
                background
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="1"
                :page-sizes="[10, 20, 50, 100]"
                :page-size="queryinfo.pageRow"
                layout="total, sizes, prev, pager, next, jumper"
                :total="totalNumber"
            >
            </el-pagination>
        </div>
        <!-- 激活弹出框 -->
        <CommonDialog
            title="激活"
            width="75%"
            v-bind:dialogVisible="isactiveDialogVisible"
            @on-change-dialogVisible="activeChange"
            class="startForm"
            top="10vh"
        >
            <template #body>
                <el-form
                    :model="activeForm"
                    label-position="top"
                    ref="activeForm"
                    :rules="activeFormRules"
                    label-width="100"
                >
                    <el-form-item label="激活原因" prop="tips">
                        <!-- <el-input type="textarea" v-model="activeForm.tips">
            </el-input> -->
                        <!-- <quill-editor v-model="activeForm.tips" ref="tipsEditor">
            </quill-editor> -->
                        <!-- <vue-tinymce v-model="activeForm.tips" :setting="setting" /> -->
                        <socialUpload
                            :contentDefault="activeForm.tips"
                            @getContent="getActiveTips"
                        ></socialUpload>
                    </el-form-item>
                </el-form>
            </template>

            <template #dialog_footer>
                <el-button size="small" @click="activeCancel">取 消</el-button>

                <el-button
                    type="primary"
                    @click="activeConfirm('activeForm')"
                    size="small"
                    >确认</el-button
                >
            </template>
        </CommonDialog>

        <!-- 转让弹出框 -->
        <CommonDialog
            title="转让"
            width="75%"
            v-bind:dialogVisible="transferDialogVisible"
            @on-change-dialogVisible="transferChange"
            class="close"
            top="10vh"
        >
            <template #body>
                <el-form
                    :model="transferForm"
                    label-position="top"
                    ref="transferForm"
                    label-width="100"
                    :rules="transferFormRules"
                >
                    <el-row>
                        <el-col :span="24">
                            <el-form-item label="接收人" prop="userid">
                                <el-select
                                    v-model="transferForm.userid"
                                    clearable
                                    filterable
                                >
                                    <el-option
                                        v-for="item in transferUserList"
                                        :key="item.id"
                                        :label="item.name"
                                        :value="item.id"
                                    >
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row>
                        <el-col :span="24">
                            <el-form-item label="转让原因" prop="reason">
                                <!-- <el-input type="textarea" v-model="transferForm.reason">
                </el-input> -->
                                <!-- <quill-editor v-model="transferForm.reason" ref="reasonsEditor"> </quill-editor> -->
                                <!-- <vue-tinymce v-model="transferForm.reason" :setting="setting" /> -->
                                <socialUpload
                                    :contentDefault="transferForm.reason"
                                    @getContent="getTranSferReason"
                                ></socialUpload>
                            </el-form-item>
                        </el-col>
                    </el-row>
                </el-form>
            </template>

            <template #dialog_footer>
                <el-button size="small" @click="transferCancel"
                    >取 消</el-button
                >

                <el-button
                    type="primary"
                    size="small"
                    @click="confirmtransfer('transferForm')"
                    >确认</el-button
                >
            </template>
        </CommonDialog>

        <!-- 更新进度弹出框 -->
        <CommonDialog
            title="更新进度"
            width="75%"
            v-bind:dialogVisible="updateDialogVisible"
            @on-change-dialogVisible="updateChange"
            class="activeForm"
            top="10vh"
        >
            <template #body>
                <el-form
                    class="suspendForm"
                    :model="updateForm"
                    label-position="top"
                    ref="updateForm"
                    :rules="updateFormRules"
                >
                    <el-form-item
                        label="任务详情"
                        class="suspendReason"
                        prop="context"
                    >
                        <!-- <el-input type="textarea" v-model="updateForm.context">
            </el-input> -->
                        <!-- <vue-tinymce v-model="updateForm.context" :setting="setting" /> -->
                        <socialUpload
                            :contentDefault="updateForm.context"
                            @getContent="getUpdateContent"
                        ></socialUpload>
                        <!-- <quill-editor v-model="updateForm.context" ref="contextEditor">
            </quill-editor> -->
                    </el-form-item>
                </el-form>
            </template>

            <template #dialog_footer>
                <el-button size="small" @click="updateCancel">取 消</el-button>

                <el-button
                    type="primary"
                    size="small"
                    @click="confirmUpadte('updateForm')"
                    >确认</el-button
                >
            </template>
        </CommonDialog>
        <!-- 评论 -->
        <CommonDialog
            title="评论"
            width="75%"
            v-bind:dialogVisible="updateDialogVisibles"
            @on-change-dialogVisible="updateChanges"
            class="activeForm"
            top="10vh"
        >
            <template #body>
                <el-form
                    class="suspendForm"
                    :model="updateForm"
                    label-position="top"
                    ref="updateForm"
                    :rules="updateFormRules"
                >
                    <el-form-item
                        label="评论"
                        class="suspendReason"
                        prop="context"
                    >
                        <!-- <el-input type="textarea" v-model="updateForm.context">
            </el-input> -->
                        <!-- <vue-tinymce v-model="updateForm.context" :setting="setting" /> -->
                        <socialUpload
                            :contentDefault="updateForm.context"
                            @getContent="getUpdateContent"
                        ></socialUpload>
                        <!-- <quill-editor v-model="updateForm.context" ref="contextEditor">
            </quill-editor> -->
                    </el-form-item>
                </el-form>
            </template>

            <template #dialog_footer>
                <el-button size="small" @click="updateCancels">取 消</el-button>

                <el-button
                    type="primary"
                    size="small"
                    @click="confirmUpadtes('updateForm')"
                    >确认</el-button
                >
            </template>
        </CommonDialog>

        <!-- 关闭弹出框 -->
        <CommonDialog
            title="关闭"
            width="75%"
            v-bind:dialogVisible="closeDialogVisible"
            @on-change-dialogVisible="closeChange"
            class="close"
            top="10vh"
        >
            <template #body>
                <el-form
                    class="closeForm"
                    :model="closeForm"
                    ref="closeForm"
                    :rules="closeFormRules"
                    label-width="100"
                    label-position="top"
                >
                    <el-form-item
                        label="关闭原因"
                        class="closeReason"
                        prop="reason"
                    >
                        <el-select
                            v-model="closeForm.reason"
                            placeholder="关闭原因"
                            clearable
                            filterable
                        >
                            <!-- <el-option label="已完成" value="Finish"></el-option>
              <el-option label="取消" value="Cancel"></el-option>
              <el-option label="误操作" value="Misoperation"></el-option>
              <el-option label="其他" value="Other"></el-option> -->
                            <el-option
                                v-for="(item, index) in closeReasonList"
                                :key="index"
                                :label="item.text"
                                :value="item.id"
                            ></el-option>
                        </el-select>
                    </el-form-item>
                    <!-- <el-form-item
            label="解决方案"
            class="closeReason"
            prop="solution"
            :rules="[
              { required: true, message: '请输入解决方案', trigger: 'change' },
            ]"
          >
            <el-input
              type="textarea"
              v-model="closeForm.solution"
              placeholder="请输入解决方案"
            >
            </el-input>
          </el-form-item> -->
                    <el-form-item
                        label="备注"
                        class="extra closeReason"
                        prop="remark"
                    >
                        <!-- <el-input
              type="textarea"
              v-model="closeForm.remark"
              placeholder="请输入备注"
            >
            </el-input> -->
                        <!-- <vue-tinymce v-model="closeForm.remark" :setting="setting" /> -->
                        <socialUpload
                            :contentDefault="closeForm.remark"
                            @getContent="getCloseRemark"
                        ></socialUpload>
                    </el-form-item>
                </el-form>
            </template>

            <template #dialog_footer>
                <el-button size="small" @click="closeCancel">取 消</el-button>

                <el-button
                    type="primary"
                    @click="confirmCloseRow('closeForm')"
                    size="small"
                    >确认</el-button
                >
            </template>
        </CommonDialog>

        <!--创建任务弹出框  -->

        <CommonDialog
            title="创建任务"
            width="75%"
            v-bind:dialogVisible="createTaskDialogVisible"
            @on-change-dialogVisible="createTaskChange"
            class="createTask"
            top="3vh"
        >
            <template #body>
                <el-form
                    :rules="rules"
                    :model="createTaskForm"
                    class="createTaskForm"
                    ref="createTaskForm"
                    label-position="top"
                >
                    <el-row :gutter="10">
                        <el-col :span="8">
                            <el-form-item prop="TheirProducts" label="关联ID">
                                <el-input
                                    class="userInput"
                                    v-model="createTaskForm.TheirProducts"
                                    placeholder="请输入关联ID"
                                    @change="getProductId"
                                ></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="8">
                            <el-form-item prop="productName" label="所属产品">
                                <el-input
                                    class="userInput"
                                    v-model="createTaskForm.productName"
                                    disabled
                                >
                                </el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="8">
                            <el-form-item
                                prop="currentResponsiblePerson"
                                label="当前责任人"
                            >
                                <el-select
                                    class="userSelect"
                                    v-model="
                                        createTaskForm.currentResponsiblePerson
                                    "
                                    placeholder="责任人"
                                    @change="getPersonDepartment"
                                    clearable
                                    filterable
                                >
                                    <el-option
                                        v-for="item in insertUserList"
                                        :key="item.id"
                                        :label="item.name"
                                        :value="item.id"
                                    >
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row :gutter="10">
                        <el-col :span="8">
                            <el-form-item prop="taskStatus" label="任务状态">
                                <el-select
                                    class="userSelect"
                                    v-model="createTaskForm.taskStatus"
                                    disabled
                                    clearable
                                    filterable
                                >
                                    <el-option
                                        v-for="item in taskStatusList"
                                        :key="item.value"
                                        :label="item.label"
                                        :value="item.value"
                                    >
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                        <el-col :span="8">
                            <el-form-item prop="taskIdentity" label="任务标识">
                                <el-select
                                    class="userSelect"
                                    v-model="createTaskForm.taskIdentity"
                                    placeholder="请选择任务标识"
                                    clearable
                                    filterable
                                >
                                    <el-option
                                        v-for="item in taskIdentityList"
                                        :key="item.value"
                                        :label="item.label"
                                        :value="item.value"
                                    >
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                        <el-col :span="8">
                            <el-form-item prop="department" label="责任人部门">
                                <el-input
                                    class="userInput"
                                    v-model="createTaskForm.department"
                                    disabled
                                ></el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row :gutter="10">
                        <el-col :span="8">
                            <el-form-item
                                prop="closingDate"
                                label="计划完成时间"
                            >
                                <el-date-picker
                                    :clearable="false"
                                    :editable="false"
                                    type="date"
                                    placeholder="请选择截止日期"
                                    :picker-options="pickerOptions"
                                    v-model="createTaskForm.closingDate"
                                    style="width: 100%"
                                    value-format="yyyy-MM-dd"
                                ></el-date-picker>
                            </el-form-item>
                        </el-col>
                        <el-col :span="8">
                            <el-form-item
                                prop="taskType"
                                label="绑定反馈/BUG/需求"
                            >
                                <el-select
                                    v-model="createTaskForm.taskType"
                                    class="userInput"
                                    placeholder="请选择绑定类型"
                                    clearable
                                    filterable
                                    @change="getFeedBackCloseSet"
                                >
                                    <el-option
                                        v-for="item in taskTypeList"
                                        :key="item.value"
                                        :label="item.label"
                                        :value="item.value"
                                    >
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                        <el-col :span="8">
                            <el-form-item
                                prop="sourceId"
                                label="源ID"
                                v-if="
                                    createTaskForm.taskType != 0 &&
                                    createTaskForm.taskType != null
                                "
                            >
                                <el-select
                                    v-model="createTaskForm.sourceId"
                                    class="userInput"
                                    clearable
                                    filterable
                                    placeholder="请选择绑定ID"
                                >
                                    <el-option
                                        v-for="item in bangIdList"
                                        :key="item.zenMasterId"
                                        :label="item.zenMasterId"
                                        :value="item.zenMasterId"
                                    >
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row>
                        <el-col :span="24">
                            <el-form-item prop="taskTitle" label="任务标题">
                                <el-input
                                    v-model="createTaskForm.taskTitle"
                                    placeholder="请输入任务标题"
                                ></el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row :gutter="10">
                        <el-col :span="24">
                            <el-form-item prop="trackItems" label="跟踪事项">
                                <!-- <el-input type="textarea" placeholder="请输入跟踪事项"></el-input> -->
                                <!-- <vue-tinymce
                  v-model="createTaskForm.trackItems"
                  :setting="setting"
                /> -->
                                <socialUpload
                                    :contentDefault="createTaskForm.trackItems"
                                    @getContent="getCreateTrack"
                                ></socialUpload>
                            </el-form-item>
                        </el-col>
                    </el-row>
                </el-form>
            </template>

            <template #dialog_footer>
                <el-button size="small" @click="createTaskCancel"
                    >取 消</el-button
                >

                <el-button
                    :disabled="isConfirmcreateTaskRow"
                    type="primary"
                    @click="confirmcreateTaskRow('createTaskForm')"
                    size="small"
                    >确认</el-button
                >
            </template>
        </CommonDialog>

        <ApplicationDialog ref="ApplicationDialog" @refreshPage="onSearch" />
    </div>
</template>

<script>
import socialUpload from '../../components/socialUpload/socialUpload.vue'
import ApplicationDialog from '@/components/taskApplicationDialog/taskApplicationDialog.vue'
// import Api from '../../api/feedBack/api'
/* 引入通用的状态按钮组件 */
import RadioStatusBtn from '../../components/radioStatusBtn/radioStatusBtn.vue'
/* 引入通用的弹出框 */
import CommonDialog from '../../components/commonDialog/commonDialog.vue'
/* 引入通用的反馈表单 */
import FilterTrans from '@/utils/paramsFiler'
import { FeedBack } from '../../api/feedBack/server'
import { taskPandect } from '../../api/tasks/server'
import { mapState } from 'vuex'
import Api from '@/api/feedBack/api'
// 工具栏配置
export default {
    name: 'task',
    components: {
        RadioStatusBtn,
        ApplicationDialog,
        CommonDialog,
        socialUpload
        // CommonFeedForm,
    },
    props: {},
    data() {
        const EFilterOprator = FilterTrans.EFilterOprator
        var mytoken = JSON.parse(sessionStorage.getItem('USERINFO')).token // 要保证取到
        /* 数据标识 */
        return {
            imgStr: '<p>去除所有html标签,<img/><My-Tag class="abc" value="test">自定义标签也可以去除哦</My-Tag></p>',
            // C1StatusList: [],
            pickerOptions: {
                disabledDate(time) {
                    const _now = Date.now()
                    const seven = 1 * 24 * 60 * 60 * 1000
                    const sevenDays = _now - seven
                    return time.getTime() < sevenDays
                }
            },

            isConfirmcreateTaskRow: true,
            // 本地路径
            localFile: {},
            isDemo: false,
            // 本地图片
            loadImageNow: '',
            /* 得到token */
            importHeaders: { token: mytoken },
            //  文件上传
            fileUpload: `${process.env.VUE_APP_GOLDWIND_BASE_API}/v2/file/upload`,
            // 数据总数目
            totalNumber: 0,

            // 产品列表
            ProductList: [],

            // 指派人列表
            userList: [],

            // 更新进度指派人列表
            updateUserList: [],
            // 阶段列表
            stageList: [],
            childStageList: [],
            tableItemsID: '',
            taskTypeList: [
                {
                    label: '反馈',
                    value: 0
                },
                {
                    label: 'BUG',
                    value: 1
                },
                {
                    label: '需求',
                    value: 2
                }
            ],
            bangIdList: [],

            // 创建人物关联责任人
            insertUserList: [],

            // 转让人列表
            transferUserList: [],

            /*  C1/C2标识 */
            ctag: [
                {
                    label: 'C1',
                    value: 0
                },
                {
                    label: 'C2',
                    value: 1
                }
            ],

            // TODO: 任务筛选条件优化
            // 筛选条件
            SelectConditionForm: {
                f__product_id: [],
                t__task_number: '', // 任务ID
                t__feedback_id: '', // 反馈ID
                taskStatus: 1,
                t__ctag: '', // 状态标识
                t__title: '', // 所属产品
                t__responsible_user: '', // 责任人
                t__created_at: [], // 创建时间
                startTime: '',
                endTime: ''
            },

            searchCondition: [
                {
                    field: 't__ctag',
                    operator: EFilterOprator.Equal
                },
                {
                    field: 't__responsible_user',
                    operator: EFilterOprator.Equal
                },
                {
                    field: 't__task_number',
                    operator: EFilterOprator.Equal
                },
                {
                    field: 't__feedback_id',
                    operator: EFilterOprator.Equal
                },
                // {
                //     field: 'taskStatus',
                //     operator: EFilterOprator.Equal
                // },
                {
                    field: 't__title',
                    operator: EFilterOprator.Like
                }
            ],
            taskType: [
                {
                    value: 0,
                    label: '反馈'
                },
                {
                    value: 1,
                    label: 'BUG'
                },
                {
                    value: 0,
                    label: '需求'
                }
            ],

            /* 筛选条件未确认 待定 */
            testConditionForm: {},
            textCondition: [],

            queryinfo: {
                pageIndex: 1,
                pageRow: 50
            },

            rules: {
                taskId: [{ required: false, message: '请输入任务ID', trigger: 'change' }],
                taskId2: [{ required: false, message: '请输入关联反馈ID', trigger: 'blur' }],
                feedbackId: [{ required: true, message: '请输入关联反馈ID', trigger: 'change' }],
                feedbackId2: [{ required: false, message: '请输入关联反馈ID', trigger: 'change' }],
                belongProducts: [{ required: true, message: '请选择所属产品', trigger: 'change' }],
                taskStatus: [{ required: true, message: '请选择任务状态', trigger: 'change' }],
                belongProducts2: [{ required: false, message: 'dsfdsffdsadssad', trigger: 'blur' }],
                trackItems: [{ required: true, message: '请填写任务标题', trigger: 'change' }],
                taskIdentity: [{ required: true, message: '请选择当任务标识', trigger: 'change' }],
                currentResponsiblePerson: [{ required: true, message: '请选择当前责任人', trigger: 'change' }],
                department: [{ required: false, message: 'dsfdsffdsadssad', trigger: 'blur' }],
                TheirProducts: [{ required: true, message: '请输入关联ID', trigger: 'change' }],
                closingDate: [{ required: true, message: '请选择截止时间', trigger: 'change' }],
                taskTitle: [{ required: true, message: '请输入任务标题', trigger: 'blur' }],
                sourceId: [{ required: true, message: '请选择源ID', trigger: 'change' }]
            },
            type: '',
            title: '',
            mainFlowId: '',
            actionType: {
                create: '创建任务',
                update: '更新进度'
            },
            taskIdentityList: [
                {
                    label: 'C1',
                    value: 'C1'
                },
                {
                    label: 'C2',
                    value: 'C2'
                }
            ],
            currentResponsiblePersonList: [
                {
                    label: '姓名1',
                    value: 0
                },
                {
                    label: '姓名2',
                    value: 5
                }
            ],
            theirProductsList: [
                {
                    label: '产品1',
                    value: 0
                },
                {
                    label: '产品2',
                    value: 5
                }
            ],
            taskStatusList: [
                {
                    label: '新建',
                    value: 0
                },
                {
                    label: '处理中',
                    value: 1
                },
                {
                    label: '已完成',
                    value: 2
                }
            ],
            detailsForm: {
                id: '', // 主键
                feedBackId: '', //	关联反馈主键
                productName: '', // 所属产品
                ctag: '', // 任务标识
                expectedCompletedDate: '', // 计划完成时间
                responsibleUser: '', // 责任人
                responsibleUserDept: '', // 责任人部门
                responsibleUserId: '', // 责任人id
                trackingTip: '', // 任务标题
                status: '' // 任务状态
            },
            closeTaskForm: {
                closeReason: '',
                closeSolution: '',
                extra: ''
            },
            commentForm: {
                comments: ''
            },
            transForm: {
                person: '',
                comments: ''
            },
            innerVisible: false,
            closeTaskVisible: false,
            // 控制新建弹出框的显示和隐藏
            insertDialogVisible: false,
            // 控制激活弹出框的显示和隐藏
            isactiveDialogVisible: false,
            // 控制关闭弹出框的显示和隐藏
            closeDialogVisible: false,

            // 控制详情弹出框的显示和隐藏
            detailDialogVisible: false,

            // 更新进度弹窗
            updateDialogVisible: false,
            updateDialogVisibles: false,

            // 转让弹出框
            transferDialogVisible: false,

            // 控制创建任务弹出框的显示和隐藏
            createTaskDialogVisible: false,

            // 终止弹出框表单内容
            suspendForm: {
                suspendReason: ''
            },

            // 回退弹出框表单内容
            rebackForm: {
                rebackReason: ''
            },

            // 关闭弹出框表单内容
            closeForm: {
                reason: '',
                remark: '',
                solution: ''
            },
            closeFormRules: {
                reason: [{ required: true, message: '请输入关闭原因', trigger: 'change' }],
                remark: [{ required: false, message: '请输入备注', trigger: 'blur' }]
            },
            // 激活
            activeForm: {
                tips: ''
            },
            activeFormRules: {
                tips: [{ required: true, message: '请输入激活原因', trigger: 'change' }]
            },

            updateForm: {
                context: ''
            },
            updateFormRules: {
                context: [{ required: true, message: '请输入任务标题', trigger: 'change' }]
            },
            transferForm: {
                reason: '',
                userid: ''
            },
            transferFormRules: {
                userid: [{ required: true, message: '请选择接收人', trigger: 'change' }],
                reason: [{ required: true, message: '请输入转让原因', trigger: 'blur' }]
            },

            createTaskForm: {
                productId: '',
                productName: '',
                taskStatus: 0,
                TheirProducts: '',
                taskIdentity: 'C2',
                closingDate: '',
                currentResponsiblePerson: '',
                department: '',
                trackItems: '',
                taskTitle: '',
                taskType: 0,
                sourceId: null,
                sourceUrl: null
            },

            FeedbackData: [
                {
                    fankuiID: '000',
                    biaoshi: 'C1',
                    renwuID: '1',
                    status: 1,
                    product: 'eww',
                    awayFrom: '产品部',
                    completionTime: '2021-03-20',
                    updatedTime: '2021-04-02',
                    responsible: 'bdsbfv',
                    department: 'A阶段',
                    feedback: '意大利',
                    taskStaus: 0,
                    taskStaus2: 5,
                    productFlowId: '11111111111',
                    Cone: 10
                },
                {
                    fankuiID: '000',
                    biaoshi: 'C1',
                    renwuID: '1',
                    status: 1,
                    product: 'eww',
                    awayFrom: '产品部',
                    completionTime: '2021-03-20',
                    updatedTime: '2021-04-02',
                    responsible: 'bdsbfv',
                    department: 'A阶段',
                    feedback: '意大利',
                    taskStaus: 0,
                    taskStaus2: 5,
                    productFlowId: '11111111111',
                    Cone: 5
                }
            ],

            // 控制表格的列根据选择动态渲染
            colData: [
                { title: '反馈ID', istrue: true },
                { title: '所属产品', istrue: true },
                { title: '任务ID', istrue: true },
                { title: '任务标题', istrue: true },
                { title: '跟踪事项', istrue: true },
                { title: '任务类型', istrue: true },
                { title: '任务C1/C2标识', istrue: true },
                { title: '任务状态', istrue: true },
                { title: '责任人', istrue: true },
                { title: '任务创建时间', istrue: true },
                { title: '计划完成时间', istrue: true },
                { title: '最后更新时间', istrue: true },
                { title: '反馈C1状态', istrue: true },
                { title: '任务超期标识', istrue: true },
                { title: '超期反馈会议', istrue: true },
                { title: '责任人所属部门', istrue: true }
            ],
            colOptions: [],
            colSelect: [],

            // 状态按钮
            flowStatusList: [
                {
                    label: '已关闭',
                    value: 0
                },
                {
                    label: '处理中',
                    value: 5
                },
                {
                    label: '已完成',
                    value: 10
                },
                {
                    label: '已终止',
                    value: 15
                },
                {
                    label: '已过期',
                    value: 20
                }
            ],

            // 优先级
            priorityList: [
                {
                    label: '1级',
                    value: 1
                },
                {
                    label: '2级',
                    value: 2
                },
                {
                    label: '3级',
                    value: 3
                },
                {
                    label: '4级',
                    value: 4
                }
            ],

            // 严重程度
            severityList: [
                {
                    label: '影响现场生产',
                    value: 0
                },
                {
                    label: '影响验收',
                    value: 5
                },
                {
                    label: '影响回款',
                    value: 10
                }
            ],

            taskTableData: [],
            taskCommonId: '',
            rowObject: {},
            taskOperationLogList: [],
            closeReasonList: [],

            // 用户信息
            userInfo: {},
            setting: {
                branding: false,
                menubar: false,
                toolbar:
                    'undo redo | fullscreen | formatselect alignleft aligncenter alignright alignjustify | link unlink | numlist bullist | image media table | fontselect fontsizeselect forecolor backcolor | bold italic underline strikethrough | indent outdent | superscript subscript | removeformat |',
                toolbar_drawer: 'sliding',
                quickbars_selection_toolbar:
                    'removeformat | bold italic underline strikethrough | fontsizeselect forecolor backcolor',
                plugins: 'link image  table lists fullscreen',
                language: 'zh_CN',
                init_instance_callback: editor => {
                    if (this.content) {
                        editor.setContent(this.content)
                    }
                    this.finishInit = true
                    editor.on('NodeChange Change SetContent KeyUp', () => {
                        this.hasChanged = true
                    })
                }, // 上传图片
                convert_urls: false,
                automatic_uploads: true, // 开启点击图片上传时，自动进行远程上传操作
                images_upload_base_path: `${process.env.VUE_APP_GOLDWIND_BASE_API}`, // 图片上传的基本路径
                images_upload_url: '/v2/file/upload',
                images_upload_handler: (blobInfo, success, failure) => {
                    var xhr, formData

                    xhr = new XMLHttpRequest()
                    xhr.withCredentials = false
                    xhr.open('POST', `${process.env.VUE_APP_GOLDWIND_BASE_API}` + '/v2/file/upload')
                    xhr.setRequestHeader('token', JSON.parse(sessionStorage.getItem('USERINFO')).token)
                    // xhr.setRequestHeader('token', JSON.parse(sessionStorage.getItem('USERINFO')).token);

                    formData = new FormData()
                    formData.append('file', blobInfo.blob())

                    formData.append('checkOfficeFmt', false)
                    formData.append('isTmp', false)
                    xhr.onload = function(e) {
                        var json
                        console.log(e, xhr)
                        console.log(this)

                        if (xhr.errcode == '0') {
                            failure('服务器错误:' + xhr.msg)
                            return
                        }
                        json = JSON.parse(this.responseText)
                        if (!json.data || typeof json.data.fileSourceId != 'string') {
                            failure('服务器错误')
                            return
                        }
                        success(
                            `${process.env.VUE_APP_GOLDWIND_BASE_API}` +
                            '/v2/file/download?' +
                            '&fileSourceId=' +
                            json.data.fileSourceId
                        )
                    }
                    xhr.send(formData)
                },
                image_advtab: false,
                language_url: 'tinymce/langs/zh_CN.js', // 语言包的路径
                elementpath: false, // 隐藏元素路径，不明白的可以切换true/false观察页面
                statusbar: false,
                resize: false,
                height: 200
            }
        }
    },
    computed: {
        ...mapState({
            // feedbackFilter: state => state.situation.feedbackFilter
            // taskFllter: state => state.situation.taskFllter
            taskFllter: state => state.situation.taskFllter
        })
    },
    // 当路由离开列表页之前
    beforeRouteLeave(to, from, next) {
        // 当to的路由为详情页面时且isFilters为true（列表页面进行了筛选）时触发
        if (from.path === '/task') {
            // 将筛选项赋值给feedbackFilter
            // this.$store.commit('setFeedbackFilter', this.filters)
            this.$store.dispatch('situation/setTaskFilter', this.SelectConditionForm)
        }
        next()
    },
    // 当路由进入列表页之前
    beforeRouteEnter(to, from, next) {
        console.log(to, from, next)
        // 当from的路由为详情页面时触发
        if (to.path === '/task') {
            next((vm) => {
                console.log('/task', vm.taskFllter)
                if (vm.taskFllter !== {}) {
                    // 把feedbackFilter值赋给当前筛选项的对象
                    vm.SelectConditionForm = vm.taskFllter
                }
            })
        } else {
            next()
        }
        // beforeRouteEnter中不能直接获得this，需要 next ((vm) =>{ vm.$stroe.state.taskFllter })这样获取，而且next里的方法要在create之后执行
    },

    created() {
        //  创建表格显示项
        var _this = this
        for (let i = 0; i < _this.colData.length; i++) {
            _this.colSelect.push(_this.colData[i].title)
            if (_this.colData[i].title == '责任人所属部门' || _this.colData[i].title == '超期反馈会议') {
                // 初始化不想展示的列可以放在这个条件里
                continue
            }
            _this.colOptions.push(_this.colData[i].title)
        }
    },
    watch: {
        /**
         * @description:监听表格显示项
         * @param {Array} valArr 未选中的字段数组
         */
        colOptions(valArr) {
            var arr = this.colSelect.filter(i => valArr.indexOf(i) < 0) // 未选中
            this.colData.filter(i => {
                if (arr.indexOf(i.title) != -1) {
                    i.istrue = false
                } else {
                    i.istrue = true
                }
            })
            this.$nextTick(() => {
                this.$refs.tableDataRef44.doLayout()
            })

            // 将用户的配置习惯保存在本地
            localStorage.setItem('settingList2', JSON.stringify(this.colOptions))
        }
    },

    /* 挂载标识 */
    mounted() {
        this.UserGetUserInfoAsync()
        // this.getC1StatusList()
        // this.dateTimeInitialise()
        // 将用户的配置习惯渲染
        const settingArr = JSON.parse(localStorage.getItem('settingList2'))
        if (settingArr != null) {
            this.colOptions = settingArr
        }
        this.getUserList() // 获取责任人下拉
        this.getProductList()
        this.getcloseReasonList()
        this.onSearch()
    },

    filters: {
        /**
         * @description:文字过滤器
         * @param {String} _val 传入的值
         * @param {Array} _list 定义的转换数组
         */
        transferSeverity(_val, _list) {
            let str = ''
            _list.findIndex(_item => {
                if (_item.value === _val) {
                    str = _item.label
                    return true
                } else {
                    return false
                }
            })
            return str
        },

        /**
     * @description:字符串长度过滤器
     * @param {String} _val
     * @return {String} 字符串切割后的字符串
     */
        formatData(_val) {
            if (_val) {
                return _val.substring(0, 10)
            }
            return ''
        },
        formatTimer: function(value) {
            if (value) {
                const date = new Date(value)
                const y = date.getFullYear()
                let MM = date.getMonth() + 1
                MM = MM < 10 ? '0' + MM : MM
                let d = date.getDate()
                d = d < 10 ? '0' + d : d
                let h = date.getHours()
                h = h < 10 ? '0' + h : h
                let m = date.getMinutes()
                m = m < 10 ? '0' + m : m
                let s = date.getSeconds()
                s = s < 10 ? '0' + s : s
                return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s
            } else {
                return value
            }
        }
    },

    methods: {
        async getFeedBackCloseSet(_val) {
            this.createTaskForm.sourceId = null
            if (_val === 0) {
                this.bangIdList = []
            } else if (_val === 1) {
                try {
                    const result = await FeedBack.GetChangeBugByFeedBack({
                        feedbackId: this.tableItemsID
                    })
                    if (result.success) {
                        this.bangIdList = result.data
                    }
                } catch (error) {
                    console.log(error)
                }
            } else {
                try {
                    const result = await FeedBack.GetChangeStoryByFeedBack({
                        feedbackId: this.tableItemsID
                    })
                    if (result.success) {
                        this.bangIdList = result.data
                    }
                } catch (error) {
                    console.log(error)
                }
            }
            //  根据当前id 获得解决方案下拉列表
        },
        /**
     * @description: 获取所有指派人信息
     */
        async getUserList() {
            try {
                const result = await FeedBack.GetAllUserAsync()
                if (result.success) {
                    this.userList = result.data
                    // console.log(result.data)
                }
            } catch (err) {
                console.log(err)
            }
        },

        /**
     * @description: 获取当前人员信息
     */
        async UserGetUserInfoAsync() {
            try {
                const result = await FeedBack.UserGetUserInfoAsync()
                if (result.success) {
                    this.userInfo = result.data
                    // console.log('当前人员信息', this.userInfo)
                }
            } catch (err) {
                console.log(err)
            }
        },

        /**
     * @description: 获取所有产品信息
     */
        async getProductList() {
            try {
                const result = await FeedBack.getProductListByCurrentUser()
                if (result.success) {
                    this.ProductList = result.data
                    // console.log('产品信息', result.data)
                }
            } catch (err) {
                console.log(err)
            }
        },

        /**
     * @description: 打开创建任务弹出框
     */
        createTask() {
            this.isConfirmcreateTaskRow = true
            this.createTaskDialogVisible = true
        },

        /**
     * @description:时间处理函数
     * @param {*} data
     * @return {*}
     */
        getTime(data) {
            const value =
                data.getFullYear() +
                '-' +
                this.checkTime(data.getMonth() + 1) +
                '-' +
                this.checkTime(data.getDate()) +
                ' ' +
                this.checkTime(data.getHours()) +
                ':' +
                this.checkTime(data.getMinutes()) +
                ':' +
                this.checkTime(data.getSeconds())
            return value
        },
        getTimes(data) {
            const value =
                data.getFullYear() +
                '-' +
                this.checkTime(data.getMonth() + 1) +
                '-' +
                this.checkTime(data.getDate() + 1) +
                ' ' +
                this.checkTime(data.getHours()) +
                ':' +
                this.checkTime(data.getMinutes()) +
                ':' +
                this.checkTime(data.getSeconds())
            return value
        },
        /**
     * @description:显示转换
     * @param {Nummber} i
     * @return {Number} 转换后的数字
     */
        checkTime(i) {
            if (i < 10) {
                i = '0' + i
            }
            return i
        },
        handleFormKuang(_filter) {
            this.queryinfo.pageIndex = 1
            const filters = FilterTrans.filterParam(_filter.queryFilter.filters)
            const filter = JSON.parse(JSON.stringify(_filter))
            filter.queryFilter.filters = filters
            filter.pageIndex = this.queryinfo.pageIndex
            filter.pageRow = this.queryinfo.pageRow
            filter.taskStatus = this.SelectConditionForm.taskStatus
            filter.orderConditions = [
                {
                    sortDirection: '1',
                    sortField: 'f__feedback_number'
                },
                {
                    sortDirection: '1',
                    sortField: 't__task_number'
                }
            ]
            // if (!(this.SelectConditionForm.f__product_id[0] === '' && this.SelectConditionForm.f__product_id.length === 1) && this.SelectConditionForm.f__product_id.length > 0) {
            //     filters.push({
            //         field: 'f__product_id',
            //         operator: 7,
            //         value: this.SelectConditionForm.f__product_id
            //     })
            // }
            // if (!this.SelectConditionForm.f__product_id.includes('')) {
            if (!this.SelectConditionForm.f__product_id.includes('') && this.SelectConditionForm.f__product_id != [] && this.SelectConditionForm.f__product_id.length > 0) {
                filters.push({
                    field: 'f__product_id',
                    operator: 7,
                    value: this.SelectConditionForm.f__product_id
                })
            }

            const time = this.SelectConditionForm.t__created_at
            console.log(time)
            if (time.length) {
                const startTime = this.getTime(time[0])
                const endtTime = this.getTimes(time[1])
                filters.push({
                    field: 't__created_at',
                    operator: 2,
                    value: startTime
                })
                filters.push({
                    field: 't__created_at',
                    operator: 4,
                    value: endtTime
                })
            }
            return filter
        },

        /**
     * @description:构建filter实例对象
     * @param {Object} _filter
     * @return {Object} 构建后的filter对象
     */
        handleForm(_filter) {
            const filters = FilterTrans.filterParam(_filter.queryFilter.filters)
            const filter = JSON.parse(JSON.stringify(_filter))
            filter.queryFilter.filters = filters
            filter.pageIndex = this.queryinfo.pageIndex
            filter.pageRow = this.queryinfo.pageRow
            filter.taskStatus = this.SelectConditionForm.taskStatus
            filter.orderConditions = [
                {
                    sortDirection: '1',
                    sortField: 'f__feedback_number'
                },
                {
                    sortDirection: '1',
                    sortField: 't__task_number'
                }
            ]
            // if (!this.SelectConditionForm.f__product_id.includes('')) {
            if (!this.SelectConditionForm.f__product_id.includes('') && this.SelectConditionForm.f__product_id != [] && this.SelectConditionForm.f__product_id.length > 0) {
                filters.push({
                    field: 'f__product_id',
                    operator: 7,
                    value: this.SelectConditionForm.f__product_id
                })
            }
            const time = this.SelectConditionForm.t__created_at
            console.log(time)
            if (time.length) {
                const startTime = this.getTime(time[0])
                const endtTime = this.getTimes(time[1])
                filters.push({
                    field: 't__created_at',
                    operator: 2,
                    value: startTime
                })
                filters.push({
                    field: 't__created_at',
                    operator: 4,
                    value: endtTime
                })
            }
            return filter
        },
        /**
     * @description: 获得任务列表数据
     */
        async GetTaskPageList() {
            this.taskTableData = []
            try {
                const data = this.handleForm(this.filter)
                const result = await taskPandect.GetTaskPageList(data)
                if (result.success) {
                    this.taskTableData = result.data.data
                    this.totalNumber = result.data.total
                    console.log('任务总览数据', this.taskTableData)
                }
            } catch (err) {
                console.log(err)
            }
        },
        async GetTaskPageListKuang() {
            this.taskTableData = []
            try {
                const data = this.handleFormKuang(this.filter)
                const result = await taskPandect.GetTaskPageList(data)
                if (result.success) {
                    this.taskTableData = result.data.data
                    this.totalNumber = result.data.total
                    // console.log('任务总览数据', this.taskTableData)
                }
            } catch (err) {
                console.log(err)
            }
        },
        onSearchKuang() {
            // this.queryinfo.pageIndex = 1;
            this.tasklist = []
            this.filter = FilterTrans.buildPageRequest(this.SelectConditionForm, this.searchCondition)

            this.GetTaskPageListKuang()
        },
        /**
     * @description:页面加载函数
     */
        onSearch() {
            // this.queryinfo.pageIndex = 1;
            this.tasklist = []
            this.filter = FilterTrans.buildPageRequest(this.SelectConditionForm, this.searchCondition)

            this.GetTaskPageList()
        },

        /**
     * @description:导出表格
     */
        exportCharts() {
            // this.tasklist = [];
            this.filter = FilterTrans.buildPageRequest(this.SelectConditionForm, this.searchCondition)
            this.fileDownload()
        },

        /**
     * @description: 转让
     */
        tranTasks() {
            this.transVisible = true
        },

        /**
     * @description: 关闭任务
     */
        closeTasks() {
            this.closeTaskVisible = true
        },

        canselInsert() {
            this.insertDialogVisible = false
        },

        closeCancel() {
            this.closeDialogVisible = false
        },

        detailCancel() {
            this.detailDialogVisible = false
        },
        activeCancel() {
            this.isactiveDialogVisible = false
            this.$refs['activeForm'].resetFields()
        },
        updateCancel() {
            this.updateDialogVisible = false
            this.$refs['updateForm'].resetFields()
        },
        updateCancels() {
            this.updateDialogVisibles = false
            this.$refs['updateForm'].resetFields()
        },
        transferCancel() {
            this.transferDialogVisible = false
            this.$refs['transferForm'].resetFields()
        },

        // 从子组件传递过来的状态更新
        inesertChange(val) {
            this.insertDialogVisible = val
        },
        activeRow(val) {
            // console.log(val)
            this.taskCommonId = val
            this.isactiveDialogVisible = true
        },

        updateRow(val) {
            // console.log(val)
            this.taskCommonId = val
            this.updateDialogVisible = true
        },
        updateRows(val) {
            // console.log(val)
            this.taskCommonId = val
            this.updateDialogVisibles = true
        },

        /**
     * @description: 确认任务
     * @param {String} 主键ID
     */
        async confirm(val) {
            try {
                const result = await taskPandect.ConfirmTask({ id: val })
                if (result.success) {
                    this.$message.success('您确认了任务')
                    this.onSearch()
                } else {
                    this.$message.error(result.message)
                }
            } catch (err) {
                console.log(err)
            }
        },
        closeChange(val) {
            this.closeDialogVisible = val
            this.$refs['closeForm'].resetFields()
        },
        createTaskChange(val) {
            this.$refs['createTaskForm'].resetFields()
            this.createTaskDialogVisible = val
        },
        detailChange(val) {
            this.detailDialogVisible = val
            this.rowObject = {}
        },

        activeChange(val) {
            this.isactiveDialogVisible = val
            this.$refs['activeForm'].resetFields()
        },

        updateChange(val) {
            this.updateDialogVisible = val
            this.$refs['updateForm'].resetFields()
        },
        updateChanges(val) {
            this.updateDialogVisibles = val
            this.$refs['updateForm'].resetFields()
        },

        transferChange(val) {
            this.transferDialogVisible = val
            this.$refs['transferForm'].resetFields()
        },
        /**
     * @description: 监听页面展示条目数变化
     * @param {Number} _val 当前条目数
     */
        handleSizeChange(_val) {
            this.queryinfo.pageRow = _val
            this.onSearch()
        },

        /**
     * @description: 监听页面展示页码数变化
     * @param {Number} _val 当前条目数
     */
        handleCurrentChange(_val) {
            this.queryinfo.pageIndex = _val
            this.onSearch()
        },

        /**
     * @description: 重置筛选条件
     */
        reset() {
            this.queryinfo.pageIndex = 1
            // const currentYear = new Date().getFullYear()
            // const currentMounth = new Date().getMonth()
            // const firstDay = new Date(currentYear, currentMounth, 1)
            // const lastDay = new Date(currentYear, currentMounth + 1, 0)
            // this.SelectConditionForm.t__created_at.push(firstDay)
            // this.SelectConditionForm.t__created_at.push(lastDay)
            this.$refs['TaskConditionForm'].resetFields()
            // this.SelectConditionForm.f__product_id = ['']
            // this.dateTimeInitialise()
            // this.onSearch()
        },

        /**
     * @description: 关闭任务方法
     * @param {Object} _row 执行关闭方法的当前航对象
     */
        closeRow(_row) {
            this.taskCommonId = _row.id
            this.closeDialogVisible = true
        },

        /**
     * @description: 确认 关闭任务方法
     * @param {String} formName 关闭任务表单绑定的ref
     */
        confirmCloseRow(formName) {
            this.$refs[formName].validate(async valid => {
                if (valid) {
                    try {
                        const result = await taskPandect.CloseTask({ reason: this.closeForm.reason, remark: this.closeForm.remark, id: this.taskCommonId })
                        if (result.success) {
                            this.onSearch()

                            // console.log('关闭成功')
                            this.closeDialogVisible = false
                            this.$refs['closeForm'].resetFields()
                        } else {
                            this.onSearch()
                            this.$message.error(result.message)
                            // console.log('关闭成功')
                            this.closeDialogVisible = false
                            this.$refs['closeForm'].resetFields()
                        }
                    } catch (err) {
                        console.log(err)
                    }
                } else {
                    return false
                }
            })
        },

        /**
     * @description: 确认 激活任务方法
     * @param {String} formName 激活任务表单绑定的ref
     */
        activeConfirm(formName) {
            this.$refs[formName].validate(async valid => {
                if (valid) {
                    try {
                        const result = await taskPandect.Activation({ tips: this.activeForm.tips, id: this.taskCommonId })
                        if (result.success) {
                            // console.log('激活确认成功')
                            // TODO:激活滚动提示
                            this.$message.success('激活成功')
                            this.onSearch()
                            this.activeForm = {
                                tips: ''
                            }
                            this.$refs[formName].resetFields()
                            this.isactiveDialogVisible = false
                        } else {
                            this.$message.error(result.message)
                        }
                    } catch (err) {
                        console.log(err)
                    }
                } else {
                    console.log('error submit!!')
                    return false
                }
            })
        },

        /**
     * @description: 确认 更新进度方法
     * @param {String} formName 更新进度表单绑定的ref
     */
        confirmUpadte(formName) {
            this.$refs[formName].validate(async valid => {
                if (valid) {
                    // console.log('验证通过')
                    // console.log('updateForm内容', this.updateForm)
                    try {
                        const result = await taskPandect.UpdateProcess({ context: this.updateForm.context, id: this.taskCommonId })
                        if (result.success) {
                            // console.log('更新进度成功')
                            this.onSearch()
                            // this.updateForm = {
                            //     context: ''
                            // }
                            this.$refs[formName].resetFields()
                            this.updateDialogVisible = false
                        }
                    } catch (err) {
                        console.log(err)
                    }
                } else {
                    console.log('error submit!!')
                    return false
                }
            })
        },
        /**
     * @description: 确认 更新进度方法
     * @param {String} formName 更新进度表单绑定的ref
     */
        confirmUpadtes(formName) {
            this.$refs[formName].validate(async valid => {
                if (valid) {
                    // console.log('验证通过')
                    // console.log('updateForm内容', this.updateForm)
                    try {
                        const result = await taskPandect.UpdateProcesss({ context: this.updateForm.context, id: this.taskCommonId })
                        if (result.success) {
                            // console.log('更新进度成功')
                            this.onSearch()
                            // this.updateForm = {
                            //     context: ''
                            // }
                            this.$refs[formName].resetFields()
                            this.updateDialogVisibles = false
                        }
                    } catch (err) {
                        console.log(err)
                    }
                } else {
                    console.log('error submit!!')
                    return false
                }
            })
        },

        /**
     * @description: 确认 转让任务方法
     * @param {String} formName 转任务表单绑定的ref
     */
        confirmtransfer(formName) {
            const objparams = {
                reason: this.transferForm.reason
            }
            this.$refs[formName].validate(async valid => {
                if (valid) {
                    // console.log(objparams)
                    // console.log('验证通过')
                    try {
                        const result = await taskPandect.TransferTask({ reason: objparams.reason, id: this.taskCommonId, userId: this.transferForm.userid })
                        if (result.success) {
                            // console.log('转让成功')
                            this.onSearch()
                            this.transferForm = {
                                reason: '',
                                userid: ''
                            }
                            this.transferDialogVisible = false
                            this.$refs[formName].resetFields()
                        }
                    } catch (err) {
                        console.log(err)
                    }
                } else {
                    console.log('error submit!!')
                    return false
                }
            })
        },

        /**
     * @description: 异步下载方法
     */
        async fileDownload() {
            try {
                const data = this.handleForm(this.filter)
                data.pageRow = 3000
                data.pageIndex = 1
                await taskPandect.ExportAsync(data)
            } catch (err) {
                this.$message.error('服务器异常')
            }
        },

        /**
     * @description: 跳转任务详情
     * @param {Object} row 操作的当前航对象
     */
        getTaskDetail(row) {
            // console.log(row.id)
            this.rowObject = row
            this.queryTaskDetailById(row.id)
            this.$router.push({
                path: 'taskDetail?id=' + row.id + '&productId=' + row.productId
            })
        },

        /**
     * @description: 跳转反馈详情
     * @param {*}
     */
        getFeedBackDetail(row) {
            const id = row.fbId
            const stageId = row.feedbackStageId
            this.$router.push({
                path: 'Details?id=' + id + '&buttonStatus=buttonStatus&stageId=' + stageId
            })
        },
        /**
     * @description: 获取任务详情方法
     * @param {String} id 任务ID
     */
        async queryTaskDetailById(id) {
            try {
                const result = await taskPandect.GetInfoByIdAsync({ id: id })

                if (result.success) {
                    this.taskOperationLogList = result.data.taskOperationLogList
                    this.detailsForm = result.data
                    // console.log('详情', result.data)
                    // console.log('日志详情data', result.data.taskOperationLogList)
                }
            } catch (err) {
                console.log(err)
            }
        },

        /**
     * @description: 获取产品详细信息
     */
        async getProductId() {
            this.createTaskForm.productName = ''
            this.insertUserList = []
            const feedBackId = this.createTaskForm.TheirProducts
            try {
                const result = await taskPandect.GetProductIdByFeedId({ feedBackId: feedBackId })
                if (result.success) {
                    // console.log('查询成功')
                    this.createTaskForm.productName = result.data.name
                    const prouctId = result.data.id
                    this.tableItemsID = result.data.line
                    this.isConfirmcreateTaskRow = false
                    // 根据当前产品ID查询责任人
                    this.insertUserList = []
                    try {
                        const res = await FeedBack.GetListItemAsync({ id: prouctId })

                        this.insertUserList = res.data
                        // console.log('Task_新建责任人', res.data)
                    } catch (err) {
                        console.log(err)
                    }
                } else {
                    this.$message.error(result.message)
                }
            } catch (err) {
                console.log(err)
            }
        },
        istodemo() {
            this.isDemo = !this.isDemo
            console.log(this.isDemo)
        },

        /**
     * @description: 获取人员部门
     * @param {String} _val 人员ID
     */
        getPersonDepartment(_val) {
            this.createTaskForm.department = ''
            this.insertUserList.forEach(item => {
                if (item.id == _val) {
                    this.createTaskForm.department = item.department
                }
            })
        },

        /**
     * @description: 获取任务关闭原因列表
     */
        async getcloseReasonList() {
            try {
                const result = await taskPandect.GetTaskCloseReason()
                if (result.success) {
                    this.closeReasonList = result.data
                    console.log('任务关闭原因', result.data)
                }
            } catch (err) {
                console.log(err)
            }
        },

        /**
     * @description: 确认创建任务
     * @param {String} formName 创建任务表单绑定的ref
     */
        confirmcreateTaskRow(formName) {
            this.$refs[formName].validate(async valid => {
                if (valid) {
                    // console.log('验证通过')
                    const loading = this.$loading({
                        lock: true,
                        text: '数据传输中',
                        spinner: 'el-icon-loading',
                        background: 'rgba(0, 0, 0, 0.7)'
                    })
                    if (this.createTaskForm.sourceId != null) {
                        for (const item of this.bangIdList) {
                            if (item.zenMasterId === this.createTaskForm.sourceId) {
                                this.createTaskForm.sourceUrl = item.bugUrl
                            }
                        }
                    }
                    const objparams = {
                        ctag: this.createTaskForm.taskIdentity,
                        expectedCompletedDate: this.createTaskForm.closingDate,
                        feedBackId: this.createTaskForm.TheirProducts,
                        responsibleUser: this.createTaskForm.currentResponsiblePerson,
                        status: this.createTaskForm.taskStatus,
                        trackingTip: this.createTaskForm.trackItems,
                        title: this.createTaskForm.taskTitle,
                        taskType: this.createTaskForm.taskType,
                        sourceId: this.createTaskForm.sourceId,
                        sourceUrl: this.createTaskForm.sourceUrl
                    }
                    // console.log(objparams)
                    try {
                        const result = await taskPandect.CreateTask(objparams)
                        if (result.success) {
                            loading.close()
                            // console.log('添加任务成功')
                            this.createTaskForm = {
                                productId: '',
                                productName: '',
                                taskStatus: 0,
                                TheirProducts: '',
                                taskIdentity: 'C2',
                                closingDate: '',
                                currentResponsiblePerson: '',
                                department: '',
                                trackItems: '',
                                taskTitle: '',
                                taskType: 0,
                                sourceId: null,
                                sourceUrl: null
                            }
                            this.onSearch()
                            this.createTaskDialogVisible = false
                            this.$refs[formName].resetFields()
                        }
                    } catch (err) {
                        console.log(err)
                    }
                } else {
                    console.log('error submit!!')
                    return false
                }
            })
        },

        /**
     * @description:取消创建任务方法
     */
        createTaskCancel() {
            this.$refs['createTaskForm'].resetFields()
            this.createTaskDialogVisible = false
        },
        /**
     * @description: 申请上会方法
     * @param {Object} row 当前操作行对象
     */
        application(row) {
            const str = JSON.stringify(row)
            this.$refs.ApplicationDialog.show(str)
        },

        /**
     * @description: 任务转让方法
     * @param {String} id 主键ID
     * @param {String} proid 产品ID
     */
        async transferRow(id, proid) {
            this.taskCommonId = id
            this.transferDialogVisible = true
            this.transferUserList = []
            try {
                const result = await FeedBack.GetListItemAsync({ id: proid })

                if (result.success) {
                    this.transferUserList = result.data
                    // console.log('Task_转让责任人', result.data)
                }
            } catch (err) {
                console.log(err)
            }
        },
        focustip(event) {
            event.enable(false) // 设置富文本编辑器不可编辑
        },

        /**
     * @description: 传入子组建页面加载方案
     */
        onSearchInfo() {
            this.$emit('Search')
        },

        /**
     * @description: 合并数据过滤
     * @param {Array} arr 需要执行过滤方法的数据
     * @return {Array} spanOneArr 返回过滤后的数据
     */
        flitterData(arr) {
            const spanOneArr = []
            let concatOne = 0
            arr.forEach((item, index) => {
                if (index === 0) {
                    spanOneArr.push(1)
                } else {
                    // item.box_id === arr[index - 1].box_id &&
                    if (item.feedBackId === arr[index - 1].feedBackId) {
                        // 第一列需合并相同内容的判断条件
                        spanOneArr[concatOne] += 1
                        spanOneArr.push(0)
                    } else {
                        spanOneArr.push(1)
                        concatOne = index
                    }
                }
            })
            return {
                one: spanOneArr
            }
        },

        /**
     * @description: 合并单元格
     * @param {Number} rowIndex 水平单元格索引
     * @param {Number} columnIndex 水平单元格索引
     * @return {Object} 返回合并后的行数和列数
     */
        objectSpanMethod({ rowIndex, columnIndex }) {
            if (columnIndex === 0 && this.colData[0].istrue) {
                const _row = this.flitterData(this.taskTableData).one[rowIndex]
                const _col = _row > 0 ? 1 : 0
                return {
                    rowspan: _row,
                    colspan: _col
                }
            }
        },
        compare(property, upordown) { // property:根据什么属性排序
            return function(a, b) {
                var value1 = a[property]
                var value2 = b[property]
                /*
                * value2 - value1; ——> 降序
                * value1 - value2; ——> 升序
                */
                if (upordown) {
                    return value1 - value2// 升序排序
                } else {
                    return value2 - value1// 降序排序
                }
            }
        },
        changeSort(val) {
            let upordown = true
            if (val.order == 'descending') {
                upordown = false
            } else {
                upordown = true
            }
            this.taskTableData.sort(this.compare(val.prop, upordown))
            this.$nextTick(() => {
                this.$refs.tableDataRef44.doLayout()
            })
        },
        sortByFeedBackId(row, row1) {
            if (row.feedBackId === row1.feedBackId) {
                console.log('等于')
                return 0
            }
            if (row.feedBackId < row1.feedBackId) {
                console.log('小于')

                return -1
            } else {
                return 1
            }
        },
        sortById(row, row1) {
            if (row.id === row1.id) {
                console.log('等于')
                return 0
            }
            if (row.id < row1.id) {
                console.log('小于')

                return -1
            } else {
                return 1
            }
        },
        /**
     * @description: 重现描述文本框 文件上传之前的钩子函数
     * @param {file} file
     */
        quillImgBefore(file) {
            // console.log(file)
            const fileType = file.type
            if (fileType === 'image/jpeg' || fileType === 'image/png') {
                return true
            } else {
                this.$message.error('请插入图片类型文件(jpg/jpeg/png)')
                return false
            }
        },
        /**
     * @description: 重现描述文本框 文件上传成功的钩子函数
     * @param {Object} res 文件上传成功返回的参数
     * @return {*}
     */
        quillImgSuccess(res) {
            // 如果上传成功
            if (res.errcode == '0') {
                // console.log(res.data.fileSourceId)
                this.fileUploadAboutEditor(res.data.fileSourceId)
                const pickUrl = Api.fileUploadAboutEditor + '?fileSourceId=' + res.data.fileSourceId
                const quill = this.$refs.quillEditor.quill
                quill.focus()
                const range = quill.getSelection()
                quill.insertEmbed(range.index, 'image', pickUrl)
            } else {
                this.$message.error(res.msg || '上传失败')
            }
        },

        /**
     * @description: 重现描述文本框 文件上传图片失败的钩子函数
     */
        // 富文本图片上传失败
        uploadError() {
            // loading动画消失
            this.$message.error('图片插入失败')
        },

        /**
     * @description: 重现富文本框 文件状态改变的钩子函数
     * @param {file} file
     */
        imgSaveToUrl(file) {
            // 也可以用file
            this.localFile = file.raw // 或者

            // 转换操作可以不放到这个函数里面，
            // 因为这个函数会被多次触发，上传时触发，上传成功也触发
            const reader = new FileReader()
            reader.readAsDataURL(this.localFile) // 这里也可以直接写参数event.raw

            // 转换成功后的操作，reader.result即为转换后的DataURL ，
            // 它不需要自己定义，你可以console.log(reader.result)看一下
            reader.onload = () => {
                this.loadImageNow = reader.result
            }
        },

        /**
     * @description: 文件下载
     * @param {_id} fileSourceId
     */
        async fileUploadAboutEditor(_id) {
            try {
                const result = await FeedBack.fileUploadAboutEditor(_id)
                if (result.success) {
                    // this.userList = result.data
                    console.log(result.data)
                }
            } catch (err) {
                console.log(err)
            }
        },
        /**
     * @description: 任务详情传值
     * @param {String} V 传入的编辑框绑定的值
     */
        getUpdateContent(V) {
            this.updateForm.context = V
        },
        /**
     * @description: 转让原因传值
     * @param {String} Value  传入的编辑框绑定的值
     */
        getTranSferReason(Value) {
            this.transferForm.reason = Value
        },
        /**
     * @description: 关闭备注传值
     * @param {String} Value  传入的编辑框绑定的值
     */
        getCloseRemark(Value) {
            this.closeForm.remark = Value
        },
        /**
     * @description: 任务标题传值
     * @param {String} Value  传入的编辑框绑定的值
     */
        getCreateTrack(Value) {
            this.createTaskForm.trackItems = Value
        },
        /**
     * @description: 任务标题传值
     * @param {String} Value  传入的编辑框绑定的值
     */
        getActiveTips(Value) {
            this.activeForm.tips = Value
        }
    }
}
</script>

<style scoped lang="less" src="../task/task.less"></style>
<style scoped lang="less" src="@/assets/style/taskDIalog.less"></style>
<style scoped>
::v-deep .ql-editor li {
    list-style-type: decimal !important;
    list-style-position: inside !important;
}
::v-deep .ql-editor ul > li:before {
    content: "\2022";
}

::v-deep .ql-editor ul > li::marker {
    content: "";
    display: none;
}

::v-deep .ql-editor li:before {
    display: inline-block;
    white-space: nowrap;
    width: 1.2em;
}
</style>
